Matthias Clasen [Fri, 17 Dec 2010 00:00:01 +0000 (19:00 -0500)]
Add vfuncs for keyval and window property functions
The keyval functions should really be generic, and the window
property api should be completely revisited, but for now this
will allow us to proceed.
Matthias Clasen [Thu, 16 Dec 2010 16:33:43 +0000 (11:33 -0500)]
Drop g[dt]k_set_locale
These functions were essentially just calling setlocale anyway.
The X11 version was also setting a gdk_use_mb variable that
is not used anywhere.
Matthias Clasen [Fri, 17 Dec 2010 04:42:17 +0000 (23:42 -0500)]
Don't use gtk_set_locale
Matthias Clasen [Thu, 16 Dec 2010 06:21:49 +0000 (01:21 -0500)]
Add vfuncs for gdk_test apis
Matthias Clasen [Thu, 16 Dec 2010 05:37:39 +0000 (00:37 -0500)]
Add vfuncs for atoms
Matthias Clasen [Thu, 16 Dec 2010 05:08:42 +0000 (00:08 -0500)]
Add a vfunc for gdk_keymap_get_for_display
Matthias Clasen [Thu, 16 Dec 2010 04:49:31 +0000 (23:49 -0500)]
Rename private keymap symbols to _gdk_x11_keymap...
Matthias Clasen [Thu, 16 Dec 2010 04:35:15 +0000 (23:35 -0500)]
Rename the _gdk_xid_table functions
Matthias Clasen [Thu, 16 Dec 2010 04:18:38 +0000 (23:18 -0500)]
Remove gdk_net_wm_supports
This function is totally misnamed, only operates on the default
screen, and has a perfectly fine replacement in
gdk_x11_screen_supports_net_wm_hint.
Matthias Clasen [Thu, 16 Dec 2010 04:11:21 +0000 (23:11 -0500)]
Remove the --sync commandline option
Remove the --sync option and remove the possibility of backend-specific
commandline options altogether. --sync is being replaced by
a GDK_SYNCHRONIZE environment variable.
Matthias Clasen [Thu, 16 Dec 2010 03:45:37 +0000 (22:45 -0500)]
Remove unused _gdk_use_xshm global
Matthias Clasen [Thu, 16 Dec 2010 03:21:39 +0000 (22:21 -0500)]
Rename _gdk_window_move_resize_child
Rename _gdk_window_move_resize_child and _gdk_window_process_expose
to _gdk_x11.
Matthias Clasen [Thu, 16 Dec 2010 03:09:35 +0000 (22:09 -0500)]
Clean up gdkx.h a bit
Moving the direct-access redefinitions of various macros
to gdkprivate-x11.h and use that header throughout in x11/.
Also remove a workaround for a long-fixed X server bug.
Matthias Clasen [Thu, 16 Dec 2010 01:56:32 +0000 (20:56 -0500)]
drop dead function
Matthias Clasen [Thu, 16 Dec 2010 00:07:36 +0000 (19:07 -0500)]
Add a vfunc for _gdk_window_impl_new
Matthias Clasen [Wed, 15 Dec 2010 23:42:38 +0000 (18:42 -0500)]
Get rid of the _gdk_selection_property global
Matthias Clasen [Wed, 15 Dec 2010 22:55:04 +0000 (17:55 -0500)]
Rename _gdk_moveresize functions to _gdk_x11_moveresize
Matthias Clasen [Wed, 15 Dec 2010 22:48:13 +0000 (17:48 -0500)]
Drop gdkx_visual_get
The function is badly named, not multihead-safe, basically unused,
and has a better replacement with gdk_x11_screen_lookup_visual.
Matthias Clasen [Wed, 15 Dec 2010 22:45:05 +0000 (17:45 -0500)]
Rename _gdk_xgrab_ apis to _gdk_x11_window_
Matthias Clasen [Wed, 15 Dec 2010 22:38:48 +0000 (17:38 -0500)]
Rename _gdk_send_xevent to _gdk_x11_display_send_xevent
Matthias Clasen [Wed, 15 Dec 2010 22:32:29 +0000 (17:32 -0500)]
Rename _gdk_event_mask_table to _gdk_x11_event_mask_table
Matthias Clasen [Wed, 15 Dec 2010 19:49:23 +0000 (14:49 -0500)]
Multiple changes to reduce the amount of unprefixed symbols
The X11 backend exports a number of symbols which are _-prefixed
(so don't become part of the gdk api), but are not named in a
way to prevent accidental clashes between backends.
The one API change here is that the gdk_xid_table functions
have been removed - they did not server an purpose, since the
xid table only stores windows anyway, and we already have a
lookup-by-xid function for windows.
Benjamin Otte [Fri, 17 Dec 2010 23:41:13 +0000 (00:41 +0100)]
plug: Comment hack for xinput that used private x11 backend API
Matthias Clasen [Wed, 15 Dec 2010 17:25:38 +0000 (12:25 -0500)]
Move event source apis to gdk_x11
Reduces the changes of cross-backend collisions
Matthias Clasen [Wed, 15 Dec 2010 13:06:44 +0000 (08:06 -0500)]
Remove gdk_spawn functions
These functions were trivial g_spawn wrappers in all backends
except for X11, and they can be easily replaced by
g_app_info_create_for_commandline + GdkAppLaunchContext.
Matthias Clasen [Wed, 15 Dec 2010 07:38:43 +0000 (02:38 -0500)]
Don't use gdk_spawn
Replace the sole use of gdk_spawn in GTK+ by GAppInfo.
Matthias Clasen [Wed, 15 Dec 2010 07:37:52 +0000 (02:37 -0500)]
Work around issues with events without screens
Just use the default display for copy/free of event data.
Maybe the vfuncs should be moved to GdkDisplayManager.
Matthias Clasen [Wed, 15 Dec 2010 07:37:03 +0000 (02:37 -0500)]
Make GdkAppLaunchContext work again
We didn't set the display, ever. Add a construct-only property
for this purpose.
Matthias Clasen [Wed, 15 Dec 2010 07:05:05 +0000 (02:05 -0500)]
Consistently use per-display error traps in the X11 backend
Matthias Clasen [Wed, 15 Dec 2010 06:39:30 +0000 (01:39 -0500)]
Make gdk_window_{lookup,foreign_new}_for_display backend specific
At the same time, make GDK_IS_DISPLAY_X11 available in gdkx.h, and
add some exemplaric ifdefs to GTK+ code.
Matthias Clasen [Wed, 15 Dec 2010 05:37:40 +0000 (00:37 -0500)]
Add vfuncs for _gdk_windowing_event_data_{copy,free}
Matthias Clasen [Wed, 15 Dec 2010 04:49:42 +0000 (23:49 -0500)]
Go back to installing libgdk.so
Matthias Clasen [Wed, 15 Dec 2010 03:32:47 +0000 (22:32 -0500)]
Drop the --screen cmdline argument
Commandline arguments should go away altogether, but this one
goes first, since we then don't need to worry about
_gdk_windowing_substitute_screen_number anymore.
Matthias Clasen [Tue, 14 Dec 2010 01:46:00 +0000 (20:46 -0500)]
Add a vfunc for gdk_notify_startup_complete
At the same time, add a display api for this, since it really
is per-display.
Matthias Clasen [Tue, 14 Dec 2010 00:09:11 +0000 (19:09 -0500)]
Remove sm-client-id related functions from headers
Matthias Clasen [Mon, 13 Dec 2010 23:50:26 +0000 (18:50 -0500)]
Remove unused get_offsets functions from headers
Matthias Clasen [Mon, 13 Dec 2010 22:43:10 +0000 (17:43 -0500)]
Remove gdk_windowing_{get_device_state,window_at_device_position}
The !trusted workaround code is pushed down into the GdkDevice
subclasses, and we use the device vfuncs directly in gdkdisplay.c
Matthias Clasen [Mon, 13 Dec 2010 19:05:59 +0000 (14:05 -0500)]
Add a vfunc for _gdk_windowing_window_get_next_serial
Matthias Clasen [Mon, 13 Dec 2010 18:53:34 +0000 (13:53 -0500)]
Move warp functions to the frontend
There were already GdkDevice vfuncs for this.
Matthias Clasen [Mon, 13 Dec 2010 18:45:38 +0000 (13:45 -0500)]
Make gdk_set_sm_client_id X11-specific
This is really not a cross-platform API
Matthias Clasen [Mon, 13 Dec 2010 18:30:05 +0000 (13:30 -0500)]
Add vfuncs for process_updates_recurse and the before and after hooks
Matthias Clasen [Mon, 13 Dec 2010 17:36:35 +0000 (12:36 -0500)]
Add vfuncs for a bunch of cursor functionality to GdkDisplay
Javier Jardón [Sat, 11 Dec 2010 04:14:43 +0000 (23:14 -0500)]
Don't access GdkDisplay fields directly
Use accessors instead.
Matthias Clasen [Sat, 11 Dec 2010 05:14:53 +0000 (00:14 -0500)]
Explode gdkinternals.h into per-class private headers
At the same time, move some more class and instance structs
out of public headers.
Matthias Clasen [Sat, 11 Dec 2010 02:55:56 +0000 (21:55 -0500)]
Hide GdkDevice struct
Once its hidden, we can kill the GdkDevicePrivate struct too.
Matthias Clasen [Sat, 11 Dec 2010 02:55:41 +0000 (21:55 -0500)]
Move destroy_foreign comment
Matthias Clasen [Sat, 11 Dec 2010 02:42:55 +0000 (21:42 -0500)]
Weed out no longer needed declarations
Matthias Clasen [Sat, 11 Dec 2010 01:46:42 +0000 (20:46 -0500)]
Add a vfunc for _gdk_events_queue
Matthias Clasen [Sat, 11 Dec 2010 00:42:09 +0000 (19:42 -0500)]
Work toward turning GdkDisplayManager into a backend singleton
This commit hides the GdkDisplayManager instance and class structs,
adds vfuncs for listing displays, opening displays, and getting and
setting the default display. The X11 backend has a derived
GdkDisplayManagerX11.
The gdk_display_manager_get() function is responsible for deciding on
which of the compiled in backends to use. Currently, it consults the
GDK_BACKEND environment variable and falls back to x11.
Matthias Clasen [Fri, 10 Dec 2010 19:44:50 +0000 (14:44 -0500)]
Add per-target pc files back
Dropping those will be an unnecessary pain.
Matthias Clasen [Fri, 10 Dec 2010 19:06:13 +0000 (14:06 -0500)]
Add a vfunc to replace _gdk_windowing_window_destroy_foreign
All backends updated.
Matthias Clasen [Fri, 10 Dec 2010 17:56:56 +0000 (12:56 -0500)]
Add a vfunc for gdk_window_set_composited
Matthias Clasen [Fri, 10 Dec 2010 17:54:43 +0000 (12:54 -0500)]
Add a vfunc for gdk_window_set_composited
Matthias Clasen [Fri, 10 Dec 2010 17:42:03 +0000 (12:42 -0500)]
Match parameters between headers and doc comment
Matthias Clasen [Fri, 10 Dec 2010 17:13:25 +0000 (12:13 -0500)]
Make GdkDevice parallel-implementable
Use the grab and ungrab vfuncs from the frontend instead of the
_gdk_windowing wrappers, and move some things around accordingly.
Again, only the X11 backend has been updated, other backends
need to be updated to match.
Matthias Clasen [Fri, 10 Dec 2010 14:46:35 +0000 (09:46 -0500)]
Hide GdkScreen too
Matthias Clasen [Fri, 10 Dec 2010 19:46:40 +0000 (14:46 -0500)]
Don't access GdkScreen fields
Matthias Clasen [Fri, 10 Dec 2010 14:35:59 +0000 (09:35 -0500)]
Hide GdkDeviceManager and GdkDeviceManagerClass
And nuke GdkDeviceManagerPrivate at the same time. Again a commit
that only deals with the X11 backend, other backends will need to
catch up.
Matthias Clasen [Fri, 10 Dec 2010 14:06:52 +0000 (09:06 -0500)]
Move GdkVisual parallel-implementable
It turned out no vfuncs were necessary. I've decided to move
the screen member up to GdkVisual, since it is the same in all
backends. The X11 backend subclasses now, to add the X members
that it needs to keep track of. GdkVisual and GdkVisualClass
are hidden now.
Matthias Clasen [Fri, 10 Dec 2010 13:49:06 +0000 (08:49 -0500)]
Fully initialize the ClientMessage struct
Otherwise we run into warnings from xdnd_status_filter
Matthias Clasen [Fri, 10 Dec 2010 07:00:39 +0000 (02:00 -0500)]
Rename _gdk_dnd_init
Nonstatic backend-specific functions need an x11 in their name.
Matthias Clasen [Fri, 10 Dec 2010 06:27:10 +0000 (01:27 -0500)]
Add vtables for DND
This commit hides GdkDragContext and GdkDragContextClass, adds
vfuncs for most drag context functionality, and turns the X11 DND
implementation into GdkDragContextX11. We also add vfuncs to
GdkDisplay for gdk_drag_get_protocol and to GdkWindow for
gdk_drag_begin, and implemenet them for X11.
Other backends need similar treatment and are broken now.
Matthias Clasen [Tue, 14 Dec 2010 01:36:23 +0000 (20:36 -0500)]
Remove some direct access to GdkDragContext members
Matthias Clasen [Tue, 14 Dec 2010 00:09:11 +0000 (19:09 -0500)]
tests: Don't access GdkDragContext fields directly
Matthias Clasen [Fri, 10 Dec 2010 06:00:29 +0000 (01:00 -0500)]
Make abicheck work again
Matthias Clasen [Thu, 9 Dec 2010 06:08:05 +0000 (01:08 -0500)]
Make GdkAppLaunchContext display-dependent
Add a GdkDisplay::get_app_launch_context vfunc, and a
gdk_display_get_app_launch_context that for X11 returns a subclass.
For win32 and quartz, the implementations were trivial, so we
just return a new GdkAppLaunchContext without subclassing. Since
the type of the context now depends on the display,
gdk_app_launch_context_set_display is deprecated.
Matthias Clasen [Thu, 9 Dec 2010 05:02:35 +0000 (00:02 -0500)]
Move gdk_window_lookup to common code
Matthias Clasen [Thu, 9 Dec 2010 04:52:26 +0000 (23:52 -0500)]
Move gdk_add_client_message_filter to common code
Matthias Clasen [Thu, 9 Dec 2010 04:48:00 +0000 (23:48 -0500)]
Move gdk_get_display to common code
Matthias Clasen [Thu, 9 Dec 2010 04:22:49 +0000 (23:22 -0500)]
Reorganize pc files for a single library
After this commit, pc files no longer include the gdk backend in
their name, and we no longer install a pc file for gdk. There is
now a single gtk+-3.0.pc file. It turns out a separate gtk+-x11-3.0.pc
file is not necessary, since gdkx.h doesn't have a separate include
directory that would have to be added to Cflags.
Matthias Clasen [Thu, 9 Dec 2010 04:07:00 +0000 (23:07 -0500)]
Merge libgdk and libgtk
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
macros for each included backend, include it in gdk.h and install
it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
Alexander Larsson [Mon, 6 Dec 2010 22:19:58 +0000 (23:19 +0100)]
Convert a bunch of visual related calls to use the screen vtable
Alexander Larsson [Mon, 6 Dec 2010 21:05:13 +0000 (22:05 +0100)]
Convert all GdkScreen methods to vtable calls
Alexander Larsson [Mon, 6 Dec 2010 19:39:53 +0000 (20:39 +0100)]
Move GdkScreenClass to internal header
Alexander Larsson [Mon, 6 Dec 2010 19:01:12 +0000 (20:01 +0100)]
Convert all gdk_keymap methods to vtable calls
Alexander Larsson [Mon, 6 Dec 2010 11:40:41 +0000 (12:40 +0100)]
Move GdkKeymapClass definition to internal header
This lets us change this without affecting apps.
Alexander Larsson [Sun, 5 Dec 2010 21:37:03 +0000 (22:37 +0100)]
Make display method vtable calls
Alexander Larsson [Sun, 5 Dec 2010 21:12:48 +0000 (22:12 +0100)]
Hide GdkDisplayClass from public header
There is no need for apps to access this class, as its only implemented
in the gdk backends, and we want to be free to change it later.
Alexander Larsson [Sun, 5 Dec 2010 20:58:23 +0000 (21:58 +0100)]
Convert all gdk_window methods to vtable calls
Tristan Van Berkom [Tue, 21 Dec 2010 12:11:01 +0000 (21:11 +0900)]
Added "fixed-size" cell property to GtkCellAreaBox
Now a cell can either have a "fixed" size or it can have
an "aligned" starting point or both. "fixed" size cells take
no space when they are invisible.
Tristan Van Berkom [Mon, 20 Dec 2010 10:37:30 +0000 (19:37 +0900)]
Fixed gtk_cell_layout_set_cell_data_func() to pass the correct layout object
Added _gtk_cell_area_set_cell_data_func_with_proxy() to be called by
gtk_cell_layout_set_cell_data_func() when the layouting object itself
is not the underlying cell area.
Michael Natterer [Tue, 21 Dec 2010 14:16:35 +0000 (15:16 +0100)]
gdk: return 0, not NULL from gdk_device_get_n_axes()
Carlos Garnacho [Tue, 21 Dec 2010 13:42:06 +0000 (14:42 +0100)]
Make gtk_style_context_get_* functions more robust
Even if the default CSS contains values for these, handle non-existing
values as queries might happen on an incomplete style.
Jesse van den Kieboom [Sun, 19 Dec 2010 20:52:51 +0000 (21:52 +0100)]
Added out annotations for gtk_icon_size_lookup/_for_settings
https://bugzilla.gnome.org/show_bug.cgi?id=637606
Jesse van den Kieboom [Sun, 19 Dec 2010 20:51:53 +0000 (21:51 +0100)]
Added out annotations for gtk_accelerator_parse
https://bugzilla.gnome.org/show_bug.cgi?id=637606
Yaron Shahrabani [Tue, 21 Dec 2010 10:46:41 +0000 (12:46 +0200)]
Updated Hebrew translation
Carlos Garnacho [Tue, 21 Dec 2010 00:27:32 +0000 (01:27 +0100)]
Ensure widgets get a GtkStyle with its backing GtkStyleContext
Since the default style also has a backing context, it wasn't
being replaced after initialization.
Javier Jardón [Mon, 20 Dec 2010 21:45:08 +0000 (21:45 +0000)]
docs: unmap signal will always be emitted when a widget is unmapped
Since commit
9552152dd9c4c51fcb2847fdd15e118dd3c363f1
Matthias Clasen [Mon, 20 Dec 2010 22:07:20 +0000 (17:07 -0500)]
Fix problems with window handling in GtkCalendar
After the window removal a while ago, the calendar main window
was not properly moved in size_allocate. Also, we ought to hide/show
the windows in map/unmap, not keep them visible at all times.
Bug 634657
Carlos Garnacho [Mon, 20 Dec 2010 22:04:44 +0000 (23:04 +0100)]
Strengthen checks in functions taking a GdkDevice
Docs have also been improved, to make explicit the device
type/source accepted.
Carlos Garcia Campos [Sun, 12 Dec 2010 11:54:47 +0000 (12:54 +0100)]
printing: Set new print operation settings before emitting custom-widget-apply signal
So that custom settings can be added from the custom-widget-apply
callback.
https://bugzilla.gnome.org/show_bug.cgi?id=637069
Havoc Pennington [Mon, 20 Dec 2010 18:04:45 +0000 (13:04 -0500)]
Always emit unmap when a widget is unmapped
Previously, for performance reasons we would sometimes
skip invoking the unmap signal (and associated vfunc)
in favor of simply unrealizing. However, widgets then
had no way to clean stuff up when they were hidden
(but still inside a parent which was shown).
This patch also removes _gtk_tooltip_hide() which
was done in both unmap and unrealize in gtkwidget.c,
now can only be in unmap.
There are probably lots of things cleaned up in
unrealize that would now be better to move to unmap.
https://bugzilla.gnome.org/show_bug.cgi?id=629923
Havoc Pennington [Mon, 20 Dec 2010 17:58:04 +0000 (12:58 -0500)]
Add invariant that a child is unmapped if parent is unmapped
Requires fixes to GtkContainer and GtkWindow to unmap their
children, rather than just withdrawing or hiding the container
window.
Requires fix to GtkHandleBox to chain up to GtkContainer unmap.
Historically we avoided these unmaps for efficiency reasons,
but these days it's a bigger problem that there's no way
for child widgets to know that one of their ancestors has
become unmapped.
Havoc Pennington [Mon, 20 Dec 2010 17:46:51 +0000 (12:46 -0500)]
Verify GtkWidget invariants if G_ENABLE_DEBUG is defined
These checks are a bit expensive so require --enable-debug=yes.
gtk_widget_verify_invariants() checks invariants mentioned
in docs/widget_system.txt in particular, and can verify
others in the future.
Some of the invariants in docs/widget_system.txt don't
in fact hold right now, so those are #if 0'd in this
patch pending someone fixing either the docs or the code.
Matthias Clasen [Mon, 20 Dec 2010 17:28:05 +0000 (12:28 -0500)]
Make GtkEntry hide completely
When it was converted to no-window, we forgot to make it hide/show
its input window as necessary.
Matthias Clasen [Mon, 20 Dec 2010 16:38:31 +0000 (11:38 -0500)]
Update GtkAboutDialog documentation
Also, remove some dead code, pointed out in bug 637608.
Carlos Garnacho [Mon, 20 Dec 2010 16:10:27 +0000 (17:10 +0100)]
Make gtk_style_new() use a backing GtkStyleContext
Fixes a bug in mutter where it would resort to a dummy style
to get iconview rubberband color.
Reported by Mathieu Bridon in
https://bugzilla.gnome.org/show_bug.cgi?id=637520
Matthias Clasen [Mon, 20 Dec 2010 15:19:55 +0000 (10:19 -0500)]
Remove reference to GTK2_RC_FILES from the docs
Pointed out in bug 637471.
Cosimo Cecchi [Wed, 15 Dec 2010 10:58:29 +0000 (11:58 +0100)]
appchooserdialog: use new GLib API to modify positioning
The dialog will always show up with the last selected application.
Matthias Clasen [Mon, 20 Dec 2010 15:02:00 +0000 (10:02 -0500)]
Use g_strtod when converting strings for GtkCellRendererSpin
These strings are likely user-provided values, so we should
respect locale settings.
Reported in bug 637189.